package com.zqxq.lottery.service.user;

import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.IService;
import com.zqxq.common.constant.Result;
import com.zqxq.lottery.entity.po.user.UserProductPO;
import com.zqxq.lottery.entity.vo.user.*;

import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * @author 苦智
 * @date 2018/9/10 11:17
 * @description
 * @ClassName IUserProductService
 */
public interface IUserProductService extends IService<UserProductPO> {
    List<UserProductTradVO> getUserProductPage(Page page, Map<String, Object> paramMap);

    BigDecimal getUserProductTotalPrice(Map<String, Object> paramMap);

    UserProductTradDetailVO getUserProductDetail(String tradeId);

    UserProductTradDetailVO getUserProduct(String tradeId);

    Integer updateUserProductStatus(String tradeId, String logisticsNum, String logisticsCompany);

    Integer updateReceivingInfo(UserAddressVO userAddressVO);

    Result save(HttpServletRequest request, UserProductVO vo) throws Exception;

    Page queryPage(Long userId,Integer status,Integer pageNo,Integer pageSize) throws Exception;

    List<UserProductListVO> query(Long userId) throws Exception;

    List<UserProductTradExcelVO> getUserProductList(Map<String, Object> paramMap);

    Result cancelUserProduct(String id);
}
